The present invention is related to the field of data storage systems, and in particular data storage systems employing internal file systems for managing the storage of client data.
One important aspect of file system operation is space reservation and provisioning. In one known scheme, space becomes reserved to a file system when the current reserved space minus the file system requirement drops below some predetermined threshold. When this occurs, the file system issues a reservation request to a lower-level manager of underlying physical storage resources, which reserves the requested space to the file system if there is free space in a storage pool, and otherwise denies the request. Space is provisioned to the file system from the reserved space when the current free space in the file system drops below some predetermined threshold, and the file system has un-provisioned reserved space from which to draw. In this case, the file system requests units of storage from the underlying pool manager, which adds the requested units to the file system from the un-provisioned reserved space.
Provisioned space is reclaimed from the file system in a known technique by periodically checking whether the file system free space has risen above some predetermined threshold, and if so then returning some number of provisioned units to the pool to reduce the free space back below the threshold. Reserved space is reclaimed in a known technique by monitoring for the difference between file system reserved space and file system requirement to go above some predetermined threshold, and returning excess reserved space to the pool. In this case the checking may be done on a regular periodic basis, such as by use of timer, for example.